==tbox hardware==
12v DC in
*Debug => /dev/ttymxc0
*CAN => /dev/ttymxc1
*GPS => /dev/ttymxc2
*STM8 => /dev/ttymxc3

==Build rootfs with buildroot==
Firstly, get buildroot from repository https://git.g77k.com/supercatexpert/tbox-buildroot. Then run make to build rootfs.

If you failed to download some packages, you can try to use HTTP proxy: (Use 127.0.0.1:1080 as example)
 export http_proxy=http://127.0.0.1:1080
 export https_proxy=http://127.0.0.1:1080
 export ftp_proxy=http://127.0.0.1:1080

Then run make again.

If ''tbox-logger'' package updated, run script ''clean_package_rebuild_tbox_logger.sh'' first:
 ./clean_package_rebuild_tbox_logger.sh

Then build rootfs with make again.

When building finished, you can get rootfs tarball at ''output/images/rootfs.tar.gz''.

==Turn off GPRS/3G/4G network==
Ubuntu:
 poff ppp0

Buildroot:
 touch /tmp/gprs-off
 poff gprs

==sample HTTPS request==
sample CLI:
 curl https://git.g77k.com

sample C: View https://curl.haxx.se/libcurl/c/https.html

==How to make update package==
Make a new directory as root file system, copy files you want into it, e.g. you want to update TBox main program ''tbox-logger'', copy ''tbox-logger'' from buildroot directory at ''output/target/usr/bin/tbox-logger'', then copy it into the root file system at ''usr/bin''.

Make a tarball of the file system:
 tar -cJf ../update.tar.xz ./

Tarball ''update.tar.xz'' will be created at parent directory. Copy it to the update directory of project tbox-logger, and run script encrypt.sh at the update directory, encrypted update package ''update.dat'' will be generated.

==CAN bus setup==
 ip link set can0 type can bitrate 500000 triple-sampling on #bitrate can be 125000 or 500000
 ifconfig can0 up
 cansend can0 5A1#11.22.33.44.55.66.77.88
 candump can0



==6ulevk==
5v DC in

===can on 6ulevk===
[[file:Imx6UL-CAN.png|200px|RIGHT]]


Pin Def:
# 3V3
# GND
# CAN1_L
# CAN1_H
# GND
# CAN2_L
# CAN2_H
# GND

==Login dialgram==
2323 01fe 464d542d43453331363034323530303538 01 001e 110101080808 0000 3839383630313136393633313034373437383230 01 00 b8

==imx6 与STM8L 通讯协议==
====物理层协议====
通过串口通讯，9600波特率，校验位无，数据位8位，停止位1位
=====帧格式表=====
{| class="wikitable sortable"
|-
! 起始位   !! 数据位长度!! 数据位 !! 校验位置 !! 结束位置
|-
|0xA5,一个字节长度||一个字节，数据位的长度||见数据位表，变长||起始位 开始 到 数据位结束 异或校验，一个字节长度||0x5A，一个字节长度
|}

=====数据命令以及数据内容表=====
{| class="wikitable sortable"
|-
! 命令序号   !! 命令内容 !! 是否需要回复
|-
|1，imx6 发送 开机完成命令||无||0表示无需返回，1表示需要应答
|-
|2，STM8应答|| 一个字节，0，上电开机，无其他唤醒事件；1、加速度传感器开机事件 ；2、CAN1数据开机事件；3、CAN2数据开机事件；4、点火信号开机事件；5、定时开机事件；6、DC电压低开机事情;；6、IMX6超时开机事件||0表示无需返回
|-
|3，imx6 发送 准备关机命令||无||0表示无需返回，1表示需要应答
|-
|4，STM8应答||数据正常应答0x00,错误应答0x01,一个字节长度（收到此命令后，STM8一段时间后关闭imx6电源(时间有imx6关机时间决定，暂时15S)）||0表示无需返回
|-
|5，STM8发送24V电池电压低信号（持续500ms检测低于8.5V）||无||0表示无需返回，1表示需要应答
|-
|6，imx6应答||数据正常应答0x00,错误应答0x01,一个字节长度||0表示无需返回
|-
|7，imx6 断电前上传数据完毕关机命令||无||0表示无需返回，1表示需要应答
|-
|8，stm8应答||数据正常应答0x00,错误应答0x01,一个字节长度（收到此命令后，STM8一段时间后关闭imx6电源(时间有imx6关机时间决定，暂时15S),并且ST_BOOST_EN置低，关掉自己电）||0表示无需返回
|-
|9，imx6 校正STM8L rtc时间||年月日周时分秒（7个字节，年：2017，去17（0x11）；月：1-12，日：1-31；周：1-7；时：0 - 23；分：0 - 59；秒：0 - 59）||0表示无需返回，1表示需要应答
|-
|10，stm8应答||数据正常应答0x00,错误应答0x01,一个字节长度（收到此命令后，STM8设置自己的RTC时间）||0表示无需返回
|-
|11，imx6 设置STM8L给imx6上电开机时间||年月日周时分秒（7个字节，年：2017，去17（0x11）；月：1-12，日：1-31；周：1-7；时：0 - 23；分：0 - 59；秒：0 - 59）||0表示无需返回，1表示需要应答
|-
|12，stm8应答||数据正常应答0x00,错误应答0x01,一个字节长度（收到此命令后，STM8设置给imx6上电时间，到时见给imx6上电，当imx6已经上电时忽略此时间）||0表示无需返回
|-
|13，STM8发送定时时间到命令||设置的报警时间：年月日周时分秒（7个字节，年：2017，去17（0x11）；月：1-12，日：1-31；周：1-7；时：0 - 23；分：0 - 59；秒：0 - 59）||0表示无需返回，1表示需要应答
|-
|14，imx6应答||数据正常应答0x00,错误应答0x01,一个字节长度||0表示无需返回
|-
|15，imx6 发送设置加速度仪器灵敏度参数命令||1 - 100，一个字节长度（值越小越灵敏，在imx6系统上电后发送一次，STM8默认设置是16）||0表示无需返回，1表示需要应答
|-
|16，STM8应答||数据正常应答0x00,错误应答0x01,一个字节长度||0表示无需返回
|-
|17，imx6 获取STM8L RTC时间||无||0表示无需返回，1表示需要应答
|-
|18，STM8应答||年月日周时分秒（7个字节，年：2017，发送17（0x11）；月：1-12，日：1-31；周：1-7；时：0 - 23；分：0 - 59；秒：0 - 59）||0表示无需返回，1表示需要应答
|-
|19，STM8上传加速度值||short x,short y,short z(6个字节，分别表示x方向，有方向，z方向加速度值，有符号数据,大端模式，单位mg)||0表示无需返回，1表示需要应答
|-
|20，imx6应答||数据正常应答0x00,错误应答0x01,一个字节长度||0表示无需返回，1表示需要应答
|-
|21，imx6 请求上报STM8上报采集的AD值|| 无||0表示无需返回，1表示需要应答
|-
|22，STM8应答||u16  ADC_NTC_VALUE，u16 ADC_BAT_VALUE，u16 ADC_DC_VALUE，6个字节长度（分别表示热敏电阻AD值，电池电压AD值，供电电压 AD值，大端模式;热敏电阻阻值计算公式：(100 * (3.3 * ADC_NTC_VALUE / 4096))/(33 - (33 * ADC_NTC_VALUE/4906)),单位K欧姆;直流电压计算公司：2 *3.3*ADC_DC_VALUE/4096，单位,V;DC电压计算公式：13.05 *3.3*ADC_DC_VALUE/4096，单位,V;||0表示无需返回，1表示需要应答
|-
|23，imx6 获取STM8软件版本号||无||0表示无需返回，1表示需要应答
|-
|24，STM8应答||"ST20170823-01",13个字节长度||0表示无需返回，1表示需要应答
|}

== TBox监控WEB管理平台 ==

[[TBox监控WEB管理平台数据库存储规范]]